class String
	def ^(key)
		kenum = key.each_byte.cycle
		each_byte.map{|byte| byte ^ kenum.next}.pack("C*")
	end
end
# 字符串的异或
str = "Nice little string."
key = "secret!"
x = str ^ key
orig = x ^ key
p orig
# 延迟加载器
p (1..Float::INFINITY).lazy.select{|n| n % 3 == 0}.first(10)